home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 011 / wf110.arc / WFILER.DOC < prev    next >
Encoding:
Text File  |  1987-10-03  |  44.0 KB  |  851 lines

  1.  
  2.  
  3.  
  4.                        WFiler Version 1.10
  5.  
  6.                     Wide Screen File Manager
  7.  
  8.  
  9.  
  10.                           INTRODUCTION 
  11.  
  12. DESIGN PHILOSOPHY 
  13.  
  14.      WFiler is a full-screen file management utility.  Utilities
  15. of this nature are often called "shells," but in this context the
  16. term is somewhat of a misnomer.  A true DOS shell would replace
  17. the DOS command processor, COMMAND.COM.  At best, the current
  18. crop of "shells" only replace some of the functions of
  19. COMMAND.COM, not COMMAND.COM itself.  They still depend upon
  20. COMMAND.COM to process the commands they issue.  Recognition of
  21. the fact that WFiler is not a true shell has played a part in its
  22. design.  Unlike many "shells,", WFiler does not pretend or intend
  23. to totally isolate the user from the DOS command line.  The
  24. author is a confirmed command-line addict, who normally prefers
  25. to execute commands directly at the DOS prompt.  If a program
  26. (i.e., an "external command") exists that does the job well from
  27. the command-line, there is no need-- for this writer at least--to
  28. load up another program just so one can execute that command by
  29. pushing a single key.  Too many DOS "shells" in fact try to
  30. combine two different basic functions into one: (1) directory and
  31. file management, and (2) the ability to execute any and every
  32. program--including applications programms-- without leaving the
  33. host program. 
  34.  
  35.      These biases strongly influence WFiler's design.  The
  36. philosophy behind WFiler is consciously minimalist.  WFiler lacks
  37. the "bells and whistles" that you'll find with "shells" that take
  38. a more expansive approach.  That is not an apology; it is a
  39. warning.  If you want to do it all without ever exiting to DOS,
  40. you'll be disappointed.  So when would you every want to use it? 
  41. Basically, the primary rationale for WFiler is to expedite "mass"
  42. file maintenance by presenting you will a full-screen directory
  43. listing that you can visually "tag." Most "shells" do this, of
  44. course, so this alone hardly makes WFiler unique.  But in
  45. designing WFiler, the thought has been to do this well, and to do
  46. little more.  This is reflected, for instance, in WFiler's visual
  47. "look and feel."  Approximately 80 percent of the screen page is
  48. given over to a five-column directory display, in order to
  49. present at one time as many files as possible for tagging.  This
  50. objective as much determines what you don't see as what you do. 
  51. You won't see a lot of system statistics, for instance, the time
  52. of day, or other information not essential to the basic task for
  53. which the program was intended.  Neither is there a bar-menu type
  54. of cursor for selecting file operations, as that would futher
  55. clutter up the screen and reduce the space available for the
  56. directory listing.  WFiler's options are sufficiently few, and
  57. accessable through mnemonic key selections, that frequent users
  58. should have no trouble recalling them from memory.  And if your
  59. memory fails, there is a help screen available at the push of F1.
  60.  
  61.  
  62.      In keeping with WFiler's objective of expediting mass file
  63. maintenance, it provides for the following mass file operations: 
  64. COPY, DELETE, and MOVE.  Of course, once loaded, it would not be
  65. very efficient to have to quit WFiler to do single file
  66. operations, so WFiler provides for certain single file operations
  67. as well: COPY, DELETE, MOVE, and RENAME.  Beyond that, WFiler's
  68. features are few, and features were added during development only
  69. if they significantly complemented the basic task of mass file
  70. maintenance.  Via a "hook" to an external program, explained
  71. below, you can "list" or examine the contents of individual files
  72. as well, which is certainly useful when trying to decide what to
  73. do with a file when you can't remember what it is or does.  In
  74. another effort to expedite mass file maintenance, WFiler will
  75. list the directories of ARC files, and via hooks to external ARC
  76. utilities you can ADD, DELETE, and EXTRACT to and from such
  77. files.  Since the normal environment for WFiler is expected to be
  78. a hard disk, WFiler not only supports hierarchial directory
  79. structures, it also provides two alternative methods for
  80. "navigating" around the directory tree while WFiler is active. 
  81. The directory tree feature of WFiler can also be accessed from
  82. the command line on a "stand-alone" basis as a way of navigating
  83. around the disk without loading the entire program.  This feature
  84. was added only because the required code was minimal, and not
  85. because it enhanced the basic functions of WFiler.  
  86.  
  87.      While WFiler is active, you can also shell to DOS (in the
  88. "true" sense of the word, since a second copy of COMMAND.COM is
  89. loaded as a "shell" during this operation).  This feature was
  90. added because it enhances to utility of WFiler without requiring
  91. that every thing you might ever want to do while running WFiler
  92. be anticipated within WFiler's own code.  A good example of the
  93. utility of this feature, for instance, is when the need arises to
  94. format a floppy disk while using WFiler.  If you had to exit
  95. completely, you would lose the current status of any "tags"
  96. assigned during the work session.  With the Shell-to-DOS feature,
  97. you can exit to DOS, format a floppy disk, and return with
  98. WFiler's visual display and internal arrays just as they were
  99. when you left.  Each of WFiler's features, and the mechanics of
  100. WFiler's operation, are discussed in more detail below. 
  101.  
  102. QUICK START 
  103.  
  104.      WFiler is sufficently intuitive that many will be able to
  105. start using it without ever reading the documentation.  But those
  106. who fail to do so will not find all the features of WFiler in
  107. normal working order.  That is because certain features of WFiler
  108. must be "installed" before they will function.  In order to
  109. maintain a little flexibility, WFiler actually as two different
  110. installation routines, each accessable by a different command
  111. line switch.  While this "Quick Start" is intended to explain the
  112. basics of the setup procedures involved, if this explanation
  113. isn't clear enough, just execute the WFSETUP.BAT file that comes
  114. with the distribution archive.  WFSETUP.BAT will automatically
  115. execute WFiler with the command line switches necessary to
  116. invoke the installation routines.
  117.  
  118.      The first routine will install the directory tree feature of
  119. Wfiler, and is accessed with a "-c" switch from WFiler's command
  120. tail.  In other words, simply type 
  121.  
  122.                C:>wfiler -c <Enter> 
  123.  
  124. at the command line.  You will then be prompted for the complete
  125. path and file name, including the ".com" extension, for the
  126. subdirectory where wfiler will reside.  WFiler has to know where
  127. to find itself because it employs certain cloning procedures to
  128. "patch" itself whenever you use the directory tree feature.  In
  129. essence, it stores a copy of the tree, and your last position
  130. within the tree, in its own code, and it has to be able to find
  131. itself in order to modify this information when required to do
  132. so. 
  133.  
  134.      During the initial installation of the directory tree
  135. feature, WFiler will also read the directory tree.  This will
  136. take a few seconds, of course, depending on the size of the tree
  137. and the speed of the disk.  But once read, the tree is stored in
  138. WFilers internal code, and is loaded each time WFiler is loaded,
  139. without the need to rescan the entire disk.  While this gives
  140. quicker access to the tree for subsequent accesses, it assumes
  141. you do not add or delete directories in the meantime.  If you
  142. ever do, then just "reread" the disk with the "-r" command-line
  143. option.  The difference between "-r" and "-c" is that "-r" only
  144. reads the disk; it does not prompt you for the location where
  145. WFiler will reside.  If you ever want to move Wfiler to another
  146. subdirectory, you will need to rerun the "-c" option in order to
  147. tell WFiler its new location.  During normal operations, the
  148. directory tree is accessed with the backslash ("\") key.  If you
  149. run WFiler before implementing the "-c" installation routine,
  150. will abort directly to that routine the first time you try to
  151. load the tree. 
  152.  
  153.      With Version 1.10, WFiler now supports multiple drives.  How
  154. this affects normal operation is discussed below.  But during the
  155. "-c" installation routine, you will be asked how many drives you
  156. wish to read, and then will be prompted for the drive designators.
  157. If you have two hard disks or a single hard disk partitioned into 
  158. two logical drives, say C and D, you should normally respond with
  159. C (presumably the boot drive) first, and then with D.  When reading
  160. multiple trees, WFiler will put the root directory of the first
  161. drive at the top of the queue, but appends the root directory to the
  162. end of the subdirectory listings for subsequent drives.  Since the
  163. subdirectory listings are accessed as a circular queue (explained
  164. in more detail below), this results in the root directories of C
  165. and D (if you only have these two) being listed together in the
  166. directory listing.  If you have a RAM disk as a part of your normal
  167. system setup, there is no reason why it can not be added to the
  168. directory listing.  I have a ram drive set up as E: with no
  169. subdirectories, and enter it after C and D when running the "-c"
  170. setup routine.  You may want to play around with alternative
  171. orders to see what suits you best.
  172.  
  173.      During the "-c" installation, you will also be asked for the
  174. location and path\filename for COMMAND.COM, the DOS command
  175. processor.  WFiler needs to know this in order to implement the
  176. Shell-to-DOS feature.
  177.  
  178.      The second installation routine installs the "hooks" to the
  179. external programs used to implement the LIST and ARC functions. 
  180. It is accessed with a "-s" switch from WFiler's command tail: 
  181.  
  182.                C:>wfiler -s 
  183.  
  184. You will be prompted for the programs you will use to (1) list and
  185. edit files, and (2) process ARC files.  Again, you must be sure and
  186. include the ".com" (or ".exe") extension when providing the path
  187. and file names for these programs.  The first program you will be
  188. provided for is the program you will use to list files.  I use
  189. Vern Buerg's excellent LIST.COM, and it is the only one that
  190. WFiler has been tested with.  Incidentally, if you use it, and
  191. haven't sent the minimal fee requested to support the program, do
  192. so! 
  193.  
  194.      You will next be prompted for TWO programs to implement the
  195. ARC functions: (1) one to "arc" files, and (2) another to "xarc"
  196. them.  You can use the same program for both, it you like, since
  197. you will be prompted for the necessary command-line switches to
  198. differentiate between the two functions.  But to support Phil
  199. Katz's ARC utilities, PKARC and PKXARC, it is necessary to prompt
  200. for two different programs.  While WFiler allows for a fairly
  201. flexible installation of the ARC functions, it has not been
  202. tested with all possible combinations or versions.  It can not be
  203. guaranteed to handle all possible variations in syntax.  It works
  204. very well with Katz's utilities.  (As a registered user, they are
  205. what the author normally uses).  SEA's ARC Version 5.21 has been
  206. tested, and can be used for both the "arc" and "xarc" functions
  207. merely by selecting the appropriate command-line switch.  Vern
  208. Buerg's ARCE has been used for the "xarc" function.  Buerg's ARCA
  209. has not been tested since it apparently does not duplicate the
  210. normal update process, nor support deletions from the archive.
  211.  
  212.      With Version 1.10, you may now install a hook to an external
  213. editor.  I have tested this feature only with QEDIT.  It should
  214. work with any editor that can call the file to be edited from
  215. the command line, but if the editor and/or file to be edited
  216. take up too much memory, there may not be enough memory for this
  217. feature to work properly.  I don't use this feature much, and
  218. since WFiler is not intended as a "shell" from which to run normal
  219. editing or word processing sessions, you'll have to decide if and
  220. how you wish to implement this feature.
  221.  
  222.      Here is a sample "dialogue" of the installation so that you
  223. will know what to expect: 
  224.  
  225. Now enter the full path\name for List.com: c:\ut\su\list62a.com
  226.                                                              
  227. Now enter a full path\name for Arc: c:\ut\su\pkarc35.com
  228. Command line switch for Arc? <CR>=None: a                    
  229. Command line switch for Delete? <CR>=None: d                
  230. Now enter a full path\name for Xarc: c:\ut\su\pkxarc35.com
  231. Command line switch for Xarc? <CR>=None:
  232.  
  233. Now enter a full path\name for the Editor: c:\ut\su\q.com
  234. Setup completed.                          
  235.  
  236. Note that the .com extensions are supplied.  If you use ARC.EXE,
  237. be sure to supply the .exe extension as well.  Note also the lack
  238. of a "-" or "/" switch prefix when responding to the prompts for
  239. command line switches.  Version 3.5 of the Katz utilities does
  240. not employ such prefixes.  If you use an alternative which does,
  241. be sure to include them.  (E.g., answer "-a" rather than "a" when
  242. prompted for the "Arc" switch).  It is also recommended that you
  243. enter the drive designator as part of the path string so that WFiler
  244. can find these programs if you switch drives during a work session.
  245.  
  246.      With Version 1.10, all responses to installation prompts default
  247. to the strings previously assigned those variables unless the null
  248. string is considered a valid response (indicated by "<CR>=None").
  249. This means that you can simply skip prompts you do not wish to change
  250. by pressing <Enter>.  But do not do this for queries for which a null
  251. string is a reasonable response (such as the prompt for a switch for
  252. the XARC function) unless that is what you really want.
  253.   
  254.      That's all there is to it.  At this point, you are ready to
  255. go.  The WFSETUP.BAT file in the distribution archive simply
  256. executes the two commands:
  257.  
  258.                C:>wfiler -c
  259.                C:>wfiler -s
  260.  
  261. A final word of caution regarding installation.  You must run the
  262. "-c" routine BEFORE the "-s" routine.  Nothing disasterous will
  263. happen if you don't, but if WFiler does not know where to find
  264. itself, it can not patch itself with the locations for the list
  265. and arc programs you enter during the "-s" installation routine. 
  266. The  "-s" routine will terminate with a "Setup Unsuccessful"
  267. message in that instance.  If that happens, just run the "-c"
  268. routine and tell Wfiler where it is! 
  269.  
  270.  
  271.                             FEATURES 
  272.  
  273. MAIN SCREEN 
  274.  
  275.      When first loaded, WFiler presents the user with a screen
  276. that is divided into two "windows."  Note that WFiler goes
  277. directly to work: there is no intervening logo or pitch for
  278. money.  The upper window contains an 18 line, 5 column wide lower
  279. case directory listing, enough room for 90 files.  If the
  280. directory is larger than that, the excess is stored in successive
  281. "pages" which are accessed through the PgUp and PgDn keys.  The
  282. listing is alphabetized, and in lower case.  The latter reflects
  283. a strong personal preference, and "shells" that only provide for
  284. an upper case listing are an immediate turn-off to this writer. 
  285. The only style of alphabetizing that is provided for is the
  286. "default" style.  There are, for instance, no options to provide
  287. for sorting by size or extension.  Maybe in a future release. 
  288. However, with Version 1.10 subdirectories are now sorted ahead
  289. of normal file listings, and are not converted to lowercase;
  290. this aids in distinguishing subdirectories from normal files.
  291.  
  292.      If not in the root directory when first loaded, the first
  293. two entries in the display are "." and "..", with a moveable
  294. "cursor" positioned over the first entry.  These, of course, are
  295. the DOS directory entries for the current directory and the
  296. parent directory, respectively.  The moveable
  297. "cursor" is not the true cursor, but is merely a highlighted area
  298. of the screen that moves as directed by the arrow keys.  Using a
  299. technique I have dubbed "cursor overdrive," the movement of this
  300. "cursor" is fast.  In fact, delays are inserted in the code to
  301. slow it down!  The purpose of "cursor overdrive," and a quirky
  302. side-effect, are discribed more thoroughly in the next paragraph.
  303.  
  304.      As already implied, cursor movement (dropping the quotes now
  305. that I've explained that it is not the true cursor) is controlled
  306. by the arrow keys.  The cursor moves in all four directions,
  307. wrapping around, or up and down, as necessary.  As the cursor
  308. moves, it changes the "current file" that is displayed in the
  309. bottom window to correspond to the file under the cursor in the
  310. top window.  The bottom window provides complete statistics on
  311. the size, date, time and attribute of the current file.  In order
  312. to speed up cursor movement, the updating of the bottom window is
  313. suspended if you hold the arrow keys down more than momentarily. 
  314. Upon sensing the release of the arrow keys, the bottom window
  315. will then be updated to reflect the current file.  However,
  316. because of the nature of the timing loops employed by WFiler to
  317. slow the cursor down so that it is visible, it is conceivably
  318. possible for WFiler to "lose track" of a key release and go into
  319. "permanent cursor overdrive," what some would call "runaway
  320. cursor; in other words, the cursor
  321. continues to move even though you have released the arrow key. 
  322.  
  323.      Normally, this only happens if you hit an arrow key rapidly 
  324. several times in staccato fashion, and is easily remedied.  Just press
  325. and release any key and the cursor will stop.  Better yet, if you
  326. are not going to hold the key down, but press and release the key
  327. several times in succession, you can avoid the problem altogether
  328. by pressing the arrow key in somewhat slower and more deliberate
  329. fashion so that WFiler never loses track of your key releases.
  330.  
  331.      WFiler installs an alternative keyboard interrupt routine in
  332. order to watch for key releases.  In addition to the "runaway
  333. cursor" problem described above, if you use a keyboard utility
  334. that speeds up the keyboard typematic rate, it is possible that
  335. this may also upset WFiler's timing loops, and result in bizarre
  336. cursor behavior.  If you encounter bizarre cursor behavior that
  337. is not solved merely by pressing and releasing a key, and if you
  338. have a cursor speedup routine installed, either uninstall it before
  339. using WFiler, or experiment with reduced typematic rates to see
  340. if that eliminates the problem.
  341.  
  342.      That just about covers what you need to know about the main
  343. screen.  To recap, you page up and down through the listing (if
  344. it is more than 90 files in length) with the PgUp and PgDn keys,
  345. and you control cursor movement with the arrow keys.  If at any
  346. time you get bored and want to quit, "hit" the ESC key. 
  347.  
  348.      The statistics on display in the bottom window are, for the
  349. most part, self-explanatory.  All of the normal DOS statistics on
  350. the current file are available: filename, size, and the time and
  351. date the file was last accessed.  Also supplied is the status of
  352. the attribute byte, information which the DOS DIR command does
  353. not provide.  WFiler will report the status of most files with
  354. either a "a+" or "a-", depending on the status of the archive
  355. bit.  A "normal" DOS file is one in which all eight bits of the
  356. attribute byte are "off" (binary zero).  This is true only of
  357. files that have been "backed up" and which have the archive bit
  358. turned off.  When a file is created, or opened and modified, the
  359. archive bit is turned on.  WFiler indicates files with archive
  360. bit on, but with all other bits off, as "a+".  A "normal" file
  361. will be reported as having the archive bit off: "a-".  The hidden
  362. system files are reported as "ahrs" (archive bit on, hidden,
  363. read-only, and system bits on also).  Directories are indicated
  364. by ">dir", and other combinations of the attribute bits should be
  365. self-explanatory.  The one exception would be "<del" which does
  366. not refer to the attribute status at all, but which indicates a
  367. file that has been deleted by WFiler (see below).  
  368.  
  369. COLORS
  370.  
  371.      Version 1.10 of WFiler adds support for colors.  WFiler uses
  372. three pairs of foreground/background attributes to set its colors:
  373. 1) normal foreground and background; 2) cursor foreground and
  374. background; and 3) window foreground and background.  The cursor
  375. attributes are also used to set the attributes for all highlighting
  376. used in WFiler's display, such as to highlight the current filename
  377. and statistics, etc.  The window attributes control the colors used
  378. in displaying ARC directories and the directory tree(s).  The
  379. default colors in the distribution copy of WFiler are (1) white on
  380. black for the normal display, (2) black on white (reverse image) for
  381. the cursor and highlighted areas, and (3) white on black for the
  382. windows.
  383.  
  384.         Alternative colors can be selected by entering "k" or "K"
  385. while running WFiler.  WFiler will then pass control to a patch
  386. routine that will prompt you for alternative color codes.  WFiler
  387. uses the following single letter codes:
  388.  
  389.         k - black               K - light black (grey)
  390.         b - blue                B - light blue
  391.         g - green               G - light green
  392.         c - cyan                C - light cyan
  393.         r - red                 R - light red
  394.         m - magenta             M - light magenta
  395.         y - dark yellow (brown) Y - yellow
  396.         w - white               W - bright white
  397.  
  398. When prompted, simply select the single letter code for the color you
  399. wish to assign, and enter it.  Be aware that upper case letters will
  400. set the blink attribute when used as a background color.  As a practical
  401. matter, then, you only have eight background colors to choose from.
  402.  
  403.         This routine can also be used to control the attributes for a
  404. monochrome monitor.  Following are the valid combinations for monochrome
  405. attributes:
  406.                             Foreground              Background
  407.  
  408.    Normal                       w                       k
  409.    Intense                      W                       k
  410.    Normal underlined            b                       k
  411.    Intense underlined           B                       k
  412.    Reverse image                k                       w
  413.    Blinking normal              w                       K
  414.    Blinking intense             W                       K
  415.    Blinking normal underlined   b                       K
  416.    Blinking intense underlined  B                       K
  417.    Blinking Reverse image       k                       W
  418.  
  419. Because WFiler uses the same attributes for highlighting as for the
  420. cursor, the options which set the blinking attribute are not recommended.
  421.  
  422.  
  423. NAVIGATION 
  424.  
  425.      Wfiler assumes that its normal environment is a disk with a
  426. hierarchial directory structure (normally hard disk).  It thus
  427. proves two alternative means of moving around the directory tree. 
  428. It is important that you understand how these two methods differ
  429. because it affects what you expect to happen when you use
  430. Wfiler's other options.  The first method is to move up and down
  431. the current path with the Grey Plus and Grey Minus keys.  This
  432. type of navigation does NOT change the TRUE current directory,
  433. referred to by WFiler as the "Current Directory." For instance,
  434. when you load WFiler in C:\SYS\DOC, the "Viewing Directory," and
  435. true current directory, are both C:\SYS\DOC.  If you then move up
  436. the path to C:\SYS with the Grey Plus key, the Current Directory
  437. REMAINS C:\SYS\DOC.  WFiler, however, will display the directory
  438. of C:\SYS "as if" it were the current directory, and will tell
  439. you that you are "viewing" C:\SYS.  It is important to keep this
  440. difference straight.  For instance, if you extract a file from an
  441. ARC file in C:\SYS while the Current Directory is C:\SYS\DOC, it
  442. will be extracted to C:\SYS\DOC, not C:\SYS.  This feature is
  443. intentional, and provides a way of getting at other directories
  444. while the true current directory remains unchanged. 
  445.  
  446.      You may move UP the path using this method of navigation at any
  447. time simply by pressing the Grey Plus key.  To move down the path, there 
  448. must necessarily be a subdirectory in the current directory to move
  449. down to.  Subdirectories are distinguished from ordinary files by
  450. their attribute.  As noted, with Version 1.10, subdirectories are listed
  451. in capital letters, and are sorted ahead of normal file listings. 
  452. As for the attribute for a subdirectory, WFiler reports the
  453. attribute for a directory as ">dir" in the bottom window.  To
  454. move down to a subdirectory, position the cursor over the
  455. directory entry for the subdirectory and press the Grey Minus
  456. key.  That is really all there is to this method of navigation. 
  457. But keep in mind where you are: this method of navigation leaves
  458. the true directory unchanged.  You have not really moved up and
  459. down the path at all.  You have just asked WFiler to act as if it
  460. is moving up and down the path.  Note, too, that you can move
  461. laterally--in fact you can move anywhere on the disk--using this
  462. approach, but you will have to move up the path until you come to
  463. a branch that takes you down where you want to go.  Depending on
  464. how you organize your disk, this may only require just a few
  465. keystrokes to go anywhere you want. 
  466.  
  467.      The second method of navigation is to call up WFiler's
  468. Directory Tree feature.  As mentioned in the Quick Start section
  469. above, WFiler retains a copy of the directory tree within its own
  470. code.  You can access this directory tree through a 5-line window
  471. which "pops up" when you enter the backslash "\" key.  No effort
  472. is made to portray the tree visually.  You simply have a 5-line
  473. window on to a "circular queue" in which the current directory is
  474. positioned on the middle (third) line, which is highlighted,
  475. giving the appearance of a static cursor in which the listing
  476. moves in the background.  Pushing the up and down arrows
  477. "rotates" the queue through the window. 
  478.  
  479.      With Version 1.10's support for multiple directories, the way
  480. in which you change directories has been changed.  You can now 
  481. change either the Current Directory, the Viewing Directory, or both.
  482. You can also exit without changing either.  Valid key strokes while
  483. viewing the directory tree(s) are:
  484.  
  485.                 C       -  Change the Current Directory
  486.                 V       -  Change the Viewing Directory
  487.               <Enter>   -  Change both
  488.                <Esc>    -  Exit with no change
  489.  
  490. Note that V (the case is insignificant) and <Enter> make the indicated
  491. change and then close the window and return to the Main Screen
  492. automatically.  C does makes the indicated change, but does not close
  493. the window and return to the Main Screen, but remains open in case you
  494. wish to change both C and V, but change them to different directories.
  495. For instance, you may have an ARC file in C:\COMM and you might want to
  496. extract the contents to D:\TEMP.  The ARC program will normally default
  497. to the Current Directory.  If you set D:\TEMP as the current directory
  498. and C:\COMM as the viewing directory, you will not have to type the
  499. target path; WFiler and the ARC program will extract the files from an
  500. archive in C:\COMM to D:\TEMP automatically.
  501.  
  502.      In order set the current and viewing directories to different
  503. directories, be sure and set the current directory (with "C") first.
  504. If you try and set the viewing directory first, the window will close
  505. and you will have to reopen it with the backslash key.
  506.  
  507.      The directory tree feature of WFiler can be accessed
  508. directly from the command line, without loading the rest of
  509. WFiler, as a way of changing directories without having to type
  510. the full path.  The command line switch to pull this off is "-t". 
  511. In this mode, ESC will exit without changing the current
  512. directory, and <enter> will exit and execute a change to the
  513. directory pointed to by the static cursor. 
  514.  
  515. FILE OPERATIONS 
  516.  
  517.      Now we come to the real reason for WFiler:  mass file
  518. operations.  The key to mass file operations, to coin a phrase,
  519. is "t".  That is the key you enter to "tag" a file as you move
  520. around the screen.  Its opposite is "u" (for "untag," of course). 
  521. The "t" and "u" keys are "semi-smart." Up to a point, they will
  522. remember which direction the cursor was moving when last used,
  523. and will advance it in that direction.  Until you come to a
  524. directory entry.  At that point you will have to advance the
  525. cursor "manually" with the arrow keys.  But for that, you could
  526. cursor around the screen with the "t" key and tag every single
  527. file (should you ever think you have the need to do this). 
  528. WFiler keeps track of the total number of bytes of files tagged
  529. at the right of the bottom window. 
  530.  
  531.      Three basic file operations, available in BOTH single and
  532. mass modes, are COPY, DELETE and MOVE.  Each operation is
  533. accessed by mnemonic selections of the C, D and M keys in either
  534. unshifted or Alt mode: 
  535.  
  536.           C         --        Single file copy 
  537.       Alt-C         --        Mass file copy 
  538.  
  539.           D         --        Single file delete 
  540.       Alt-D         --        Mass file delete 
  541.  
  542.           M         --        Single file move 
  543.       Alt-M         --        Mass file move 
  544.  
  545. The difference between a "move" and a "copy," for those who may
  546. not know, is that a "move" does not normally copy the source
  547. file; it merely renames it with a new name that reflects the
  548. destination path and file name.  Use "copy" when you want to copy
  549. the file to another drive, or DUPLICATE the file in another
  550. subdirectory of the current drive.  Otherwise, a "move" is
  551. preferable, and is much faster since it does not involve actual
  552. copying, but only renaming. 
  553.  
  554.      With Version 1.10 you can now "move" files across disks.  This
  555. is not a true move in the sense described above, but is simply a
  556. copy+delete operation.  But if you do indeed want to "move" a file
  557. to another disk, you can now do so, and WFiler will perform the
  558. copy+delete operation transparently.
  559.  
  560.      These operations are safer than their DOS counterparts
  561. (while DOS does not even have a "move" command).  The copy and
  562. move commands check to see if the target file already exists, and
  563. will not overwrite it unless you give them permission.  For
  564. single file copy and move operations, you will be separately
  565. queried for a "destination path" and a "file name." The latter
  566. query gives you the opportunity to assign a different name to the
  567. target.  If you want to leave it unchanged, just type <enter>
  568. when prompted for a file name. 
  569.  
  570.      With Version 1.10, the "default destination" will always be
  571. the current directory.  Thus, if you have your current directory
  572. set to something other than the directory you are viewing, and if
  573. it is the destination for move or copy operations, you may simply
  574. press <Enter> when asked for the destination and WFiler will make
  575. the current directory the destination.  To copy a file from the
  576. viewing directory to a destination equal to the current directory
  577. with the name unchanged only requires two keystrokes: two successive
  578. <Enter> commands.   Mass copies and moves can also be expedited this
  579. way by using the "C" command of the directory tree to set the current
  580. directory to the destination.
  581.  
  582.      Querying the user during file operations, as well as
  583. reporting the results of file operations, occurs in the bottom
  584. window, which becomes a "dialogue box" for file operations. 
  585. WFiler has adequate error handling capabilities, but provides
  586. only minimal reporting when errors are encountered.  For
  587. instance, any error encountered when copying files will result in
  588. an "Error Copying File" message.  The most likely reason for
  589. errors during file operations is operator error, as in entering a
  590. path that doesn't exist.  In this instance, WFiler will signal
  591. that an error occured, but will not prompt you with the
  592. opportunity to create the path the user actually entered. 
  593.  
  594.      At the conclusion of mass copies and moves, WFiler will
  595. query regarding whether or not to remove the tags.  I am amazed
  596. whenever I encounter a program that automatically removes them
  597. after a mass file operation.  Suppose you then want to delete
  598. them, or remove only some of the tags and continue with mass
  599. operations on the rest?  For that reason, removing the tags after
  600. copies and moves is optional. 
  601.  
  602.      Handling tags after a mass delete is a little different. 
  603. WFiler returns to the main screen with the tags intact.  You can
  604. always "force" removal of the tags by executing a manual
  605. "refresh" (explained below).  Otherwise, you have to remove the
  606. tags manually by untagging them with the "u" key.  This is a
  607. concession to the author's way of doing things.  Until the
  608. directory is refreshed, deleted files remain in the directory
  609. listing.  But you will be able to tell a deleted file from which
  610. isn't by the attribute flag:  WFiler reports "<del" for files
  611. which are in its listing, but which no longer actually exist. 
  612. The size, time and date reports are also blank for deleted files.
  613.  
  614.      Mass deletes are given special handling as well because they
  615. are potentially the most disasterous of any mass file operations
  616. if you are not careful.  Not only are you queried as to whether
  617. that is really what you want to do, you are given the option of
  618. selectively deleting tagged files.  The prompt you will see is
  619. "<y/s/N>?"  If you respond with a "y" (for "yes"), WFiler will
  620. proceed to delete every tagged file without further user input. 
  621. So be sure that is what you really want to do.  If you want to be
  622. safe, respond with a "s" (for "selective delete").  You will then
  623. be queried for each individual delete.  Until you are sure that
  624. WFiler works intuitively FOR YOU, you are strongly encouraged to
  625. take the safe ("s") route.  "N" will abort the process entirely. 
  626. But so will any other key, as the affirmative actions ("y" and
  627. "s") will not be performed unless the specific keys required to
  628. implement those actions are pressed.  This holds true for all
  629. file operations.
  630.  
  631.      At the end of a COPY, MOVE or DELETE operation WFiler pauses
  632. before closing the dialogue window so that you can read any
  633. error messages that may been displayed during the operation.
  634. You will then be prompted to enter the "next key."   WFiler will
  635. pass any valid keystroke directly to the next routine rather than
  636. return to the normal screen display.  For instance, if at the end
  637. of a COPY operation you wish to RENAME the file, entering "R" as
  638. the "next key" will pass control directly to the RENAME routine and
  639. immediately reopen the dialogue box and prompt you for the new name.
  640. If at the end of an operation you press one of the arrow keys,
  641. WFiler will close the dialogue box and automatically advance the
  642. key in the direction you want.  Any key will close the dialogue
  643. box; keys which are valid as WFiler command keys will not only
  644. close the box but will perform the next operation.
  645.  
  646.      There are three other basic file operations: 
  647.  
  648.                R    --   Rename 
  649.            Alt-R    --   Refresh 
  650.                L    --   List 
  651.                E    --   Edit
  652.  
  653. Rename works more or less as you would expect.  Although DOS will
  654. handle wildcard renames, WFiler makes no effort to support such
  655. an operation.  The only rename function provided is a single file
  656. function that acts on the current file. 
  657.  
  658.      Refresh re-reads the directory.  In effect, it takes you
  659. back to square one.  It will remove the tags, if present, and
  660. will update the directory listing for any files that have been
  661. deleted. 
  662.  
  663.      List allows you to view or list the current file.  WFiler
  664. does not actually embody any code to list files.  It merely
  665. provides a "hook" for shelling an external program.  (Note that
  666. this involves the loading of a second copy of the command.com
  667. processor, and is thus "shelling" in the true sense of the word). 
  668. Although any program which lists text files to the screen should
  669. work, this function has only been tested with Vern Buerg's
  670. unparalleled LIST.COM.  If you try and "<l>ist" a file before
  671. running the "-s" setup routine (see "Quick Start" above), nothing
  672. will happen.  WFiler will not process the "l" keystroke until you
  673. have told it where to find the external program you will use to
  674. provide this feature. 
  675.  
  676.      Like the list feature, editing works via a hook to an external
  677. program of the user's choice.  This feature was added only because 
  678. (1) some users requested it, and (2) it only required a few lines of
  679. code.  I have not extensively tested it because I do not consider
  680. editing a normal file maintenance routine, and thus would normally
  681. never use such a feature.
  682.  
  683.      The final feature under the heading of normal file
  684. operations is the Shell-to-DOS feature.  You can actually shell
  685. to DOS while examining ARC directories (below) as well.  To shell
  686. to DOS, simply enter "s".  You will be instructed to type "EXIT"
  687. to return to WFiler.  A second copy of COMMAND.COM will be loaded
  688. (you will see the IBM and Microsoft logos), and then you will be
  689. presented with your normal DOS prompt.   Be careful not to change
  690. directories while shelled to DOS, or make certain that you
  691. return to the directory you where in when you shelled to DOS before
  692. you exit back to WFiler.
  693.  
  694. COMMAND LINE OPTIONS  
  695.  
  696.      It is expected that WFiler will normally NOT be executed
  697. with a command tail.  However, WFiler does parse the command line
  698. for two alternative situations.  It first looks for switches. 
  699. Valid switches are
  700.  
  701.                -c        --   clear or install directory tree
  702.                -s        --   install "list" and "arc" programs
  703.                -r        --   read or re-read the directory tree
  704.                -t        --   load the directory tree
  705.  
  706. Only one switch at a time is valid.  The -c and -s switches will
  707. normally be used only at installation time (see "Quick Start",
  708. above).  Use the -r switch to re-read the directory tree if you
  709. ever add or delete directories.  The -t switch can be used to
  710. access the directory tree as a method of changing directories,
  711. without running the entire program.
  712.  
  713.      If not a valid switch, then WFiler will assume the command
  714. tail is a path or filename specification.  For instance, if you
  715. are in the \UTIL directory, and want to process files in \WORD,
  716. you can enter
  717.  
  718.                C:>wfiler \word
  719.  
  720. and WFiler will load with \UTIL as the "current directory" and
  721. \WORD as the "viewing directory."  Normal DOS wildcard
  722. specifications ("*" and "?") are permissible.   In Version 1.10,
  723. parsing the command line is a little more robust.  If you do
  724. include a drive designator, WFiler assumes the current drive and
  725. adds the drive designator to the string parsed from the command
  726. line.  If you enter the drive designator, but leave off the '\'
  727. for the root directory, WFiler adds it.  There have been other changes
  728. that should be largely transparent to the user.
  729.  
  730.                           ARC OPTIONS 
  731.  
  732.      WFiler may be unique among "shells" in the degree of
  733. flexibility it provides for managing ARC files.  It does not
  734. implement all ARC options, but it provides sufficient flexibility
  735. to do what this writer considers essential.  First of all, it
  736. will list the directories of ARC files.  The code for this
  737. feature is internal to WFiler, and does not require an external
  738. program.  (However, none of the ARC features work until the "-s"
  739. setup routine has been run.) To list the contents of an ARC file,
  740. simply position the cursor over the ARC file, and press the "a"
  741. key.  Be patient.  It takes a couple of seconds, sometimes
  742. longer, to read the file.  The headers for the files contained in
  743. ARC files are distributed throughout the file, and thus the
  744. entire file must be read.  WFiler does not begin listing any of
  745. the file names until the archive file is completely read.  Once
  746. read, WFiler will "pop up" a 5-line window similar to that used
  747. for the directory tree.  Again, the listing is kept in a
  748. "circular queue." Each line provides three pieces of information
  749. on each file contained in the archive: the file number, the file
  750. name, and the size of the file (its true or uncompressed size). 
  751. No effort is made to decode the rest of the headers for files in
  752. the archive (which contains information on the compressed size of
  753. the file, its date and time, and a CRC value).  Since the window
  754. always shows 5 lines, the entries for archives containing less
  755. than 5 files are reported as "<empty>". 
  756.  
  757.      While the archive listing is active, WFiler supports the
  758. following ARC operations 
  759.  
  760.           E    --   Extract single file 
  761.           X    --   Extract all files 
  762.           D    --   Delete single files 
  763.           C    --   Clean current directory 
  764.  
  765. E, X and D all work on files within the ARC file, while Shift-A
  766. and Alt-A work on files in the Viewing Directory.  C is a special
  767. command explained more thoroughly below. 
  768.  
  769.      E extracts the file pointed to by the static cursor on the
  770. middle line of the ARC window.  X extracts all of the files from
  771. the archive.  D deletes the file pointed to by the static cursor
  772. from the archive.  These operations extract the files to the
  773. current directory, so make sure that is where you want them before
  774. proceeding; if not, change the current directory with the "C" option
  775. of the directory tree routine.
  776.  
  777.      C will "clean" the viewing directory of files archived in a
  778. given archive.  Suppose you have extracted a number of files from
  779. and archive, and no longer want the extract files to clutter up
  780. the directory.  The clean command will delete from the viewing
  781. directory any file with the same name as one found in the archive.
  782. Like the normal mass delete operation, the clean command gives you
  783. the option of proceeding selectively.
  784.  
  785.      During normal file operations, WFiler supports two archive
  786. operations: 
  787.  
  788.           Shift-A   --   Add single file 
  789.            Alt-A    --   Add all tagged files 
  790.  
  791. Shift-A and Alt-A add files to the archive, i.e. files from the
  792. viewing directory to a specified target.  Shift-A adds the
  793. current file, while Alt-A adds all the tagged files.  When these
  794. functions are accessed, the bottom window resumes its "dialogue
  795. box" function and prompts for a target.  The target is passed "as
  796. is" to the arc utility's command line, which means that the
  797. ".arc" extension is not required.  Nor must the target be in the
  798. viewing directory, although if not be sure and supply a complete
  799. path when prompted for the arc file name. 
  800.  
  801.                           DISTRIBUTION
  802.  
  803.      WFiler was written by the author to fulfill a need, and is
  804. hereby offered to anyone who finds that it fulfills similar
  805. needs.  You are free to use this program as you see fit: in its
  806. compiled form Version 1.10 is freely distributable as classic
  807. public domain software.  However, by using it you accept all
  808. liability and responsibility for its use, and absolve the author
  809. of liability and responsibility for any unforeseen or unintended
  810. consequences.
  811.  
  812.      The author retains copyright over all portions of the source
  813. code not otherwise under copyright, as well as over the visual
  814. display, and this documentation.  Future versions of the program
  815. may or may not be released to the public domain and the author
  816. retains the right to withhold such release of any future version. 
  817. Other copyrights as well may pertain to the source code, as noted
  818. below.
  819.  
  820.                         ACKNOWLEDGEMENTS
  821.  
  822.      The source code was compiled using the people's compiler,
  823. Turbo Pascal, from Borland.  It makes extensive use of the Mach 2
  824. sub-routine library from MicroHelp, Inc., as well as the library
  825. from Robert Jourdain's book, Turbo Pascal Express.  At the
  826. request of the latter, you are hereby informed that:
  827.  
  828.      Portions of this software are taken from Turbo Pascal
  829.      Express by Robert Jourdain, and are copyright (c) 1987
  830.      by Robert Jourdain.  They appear in this program by
  831.      permission of the publisher, the Brady division of
  832.      Simon & Schuster, Inc., 1 Gulf+Western Plaza, New York,
  833.      NY 10023.    
  834.  
  835. Helpful hints on programming were provided by Chris Dunford and
  836. Neil Rubenking.  WFiler uses several routines from the Borland
  837. Forum on Compuserve:  Brian Foley's MODIFY.INC, the NUINT9
  838. alternative keyboard interrupt handler, and NEXTFILE.INC.  Don
  839. Strenczewilk supplied an inline procedure for quickly scanning
  840. large arrays.  Version 1.0 was received enthusiastically by many
  841. members of the IBMSW Forum on Compuserve, many of whom made
  842. helpful suggestions on how to improve the program.  My thanks 
  843. to all the above.
  844.  
  845.                 (c) 1987 by Basil L. Copeland Jr.
  846.  
  847. All rights reserved, except as specifically provided for above. 
  848. For further information, support, to report bugs, etc., the
  849. author can be contacted on the IBMSW Forum, Compuserve, PPN
  850. 71656,472.
  851.